| Course: |
Accelerated Fundamentals of C++: C With Classes |
| Date: |
Seven almost consecutive Monday nights starting February 13, 2006.
February 13, 27, March 13, 20, 27, April 3, 10, 6:00 PM - 9:45 PM |
| CourseId: |
LCPP3 |
| Location: |
Qualware Offices, Dennis Drive, Burlington, MA |
| Instructor: |
Jeffrey Goldberg, Qualware Instructional
Services |
| Provided Text: |
ISBN: 0672323087
After clicking, see book on last line.
  If not found, use Alt
|
Class Description:
By the use of lectures, demonstrations and lab exercises (for those individuals that bring laptops to class), this mini course will introduce you to what still remains as one of hottest languages around, the C++ programming language. Unlike C, this is a modern-featured, strongly-typed,object-oriented, events-driven, error-handling, language, that remains platform independent and capable of running in many diverse environments, thus directly challenging other languages such as Java in the marketplace.
Attendees will then learn the syntax and use of the C++ programming language, how to design and use data structures, classes, objects, overloaded operators and functions, inheritance and polymorphism. The course introduces the modern day concepts of object oriented, event driven programming in an easy to understand way, comparing constructs in C++ with other programming languages when beneficial. Class lecture will be mixed with in-class and out-of-class projects to reinforce learning the concepts discussed in class.
Prerequisite:
Students should have some prior programming knowledge or experience, but not necessarily in C or C++ (for instance, VB, Perl, Java, Pascal would be fine).Some high level modular programming concepts and exposure to object based programming would be exceedingly helpful. Although class will be mostly lecture and demonstrations, it is highly recommended that attendees bring a laptop with an installed C++ compiler to class, since approximately one half hour of each class will be devoted to experimenting with examples in class.
Targeted for:
This class is ideal for individuals that want to learn C++ from the ground up. The class will proceed at a fast pace, allowing most individuals making an effort, to keep up with the class. The material in this courses is appropriate for individuals wishing to learn how to write command line and console C++ applications. Although this course does not go into writing windows applications, the fundamental concepts covered in this course should make transitioning to a windows base application relatively straight forward. The class is structured to be as interactive as possible by making use of live demonstrations that review and emphasize the concepts taught in the class and assigned as homework projects.
Handouts:
Copies of the course outline slides will be provided along with
relevant handouts when appropriate.
Content Outline Summary:
Class 1 - An Introduction to C++
- Overview of the many capabilities of C++:
- Introduction to Object Oriented Programming Paradigm.
- Terminology: Abstraction, Encapsulation, Inheritance, Polymorphism.
- Introduction to Object Oriented Programming Concepts:
- Objects, Events and Error Handling as it applies to C++.
- Strong Typing, Compatibility with C.
- Reserve Key words, Review Precedence, Fundamental Data Types.
- Stream Input/Output and Insertion/Extraction Operator: cin, cout
- Introduction to some of the C++ Development Environment.
- Write first few C++ program(s).
Class 2 - The C/C++ Glory Details
- As a strongly typed language, review primitive data types.
- Derived data types: arrays, structures, pointers, references, const.
- Quick intro to strings, quoting, string vs character literals,
- escape sequences, C++ case sensitive variables, variable type declarations,
- assignment statements, dealing with lack of string concatenation op,
- mathematical operators, precedence, conditional constructs,
- Boolean expressions, logical connecting and comparison operators,
- quick review of control flow branching (decisions) and looping syntax.
- Declaring and using arrays, initializing arrays,
- address of operator, more on references, using pointers,
- floating point constants defaulting to double.
Class 3 - Procedures and Structures as an Introduction to Classes and Objects
- Short-circuit logical operators, terminating loops early.
- Procedures and functions, passing arguments to procedures and returning back values.
- Numeric string conversions with atoi, atof, etc, scope and lifetime
- of variables and procedures, command line arguments.
- Scope resolution operator, function prototypes, overloaded functions,
- scope visibility, structures, classes, membered functions.
- Declaring and using the strings, string functions, length.
Class 4 - Object-Oriented Programming Details
- Review C Classes, class member visibility, constructors, destructors;
- Properties and methods, inheritance, extending classes,
- overloaded constructors and methods,
- Passing Objects by value, by using references and pointers,
- static methods (functions), static data member.
Class 5- Using Object Inherritance to Maximizing Code Reuse
- Using Derived classes, references to base and derived class objects.
- Constructors in base and derived classes, more on scope resolution
- operator. Virtual functions, Overriding functions, pure virtual
(abstract) functions.
Class 6- Streams, Files, Input/Output and Dynamic Memory Allocation
- Streams and Input/Output, file operations, formatting.
- Talk about security and protection model, dangers of pointers.
- Review procedure and variable scope and lifetime,
- review static variables and methods.
- Dynamic memory allocation, new and delete operator, linked lists.
- Discuss big homework project.
Class 7- Advanced Topics, Requests and Wrap-up
- Review of base and derived classes, virtual functions and object casting.
- Brief talk about friend classes and functions.
- Allocate time to review a reasonable size project
- Event Handling and Exception Processing including try and catches.
- If time permits, Templates.
- Answer any outstanding questions on concepts covered in the course.
For more info: email to jeffg@qualware.com
Add "not spam" to subject field.
Lecturer's biography:
An honor graduate of Tufts University, Jeffrey M. Goldberg
has served the engineering and academic community in various roles
from principal design engineer/project leader to senior consultant and
trainer at companies such as Hewlett Packard, Siemens,
Picturetel, 3Com, IBM, NMS, FST, IEEE, and EMC.
Mr. Goldberg is a long-time innovative user of UNIX and Internet services.
He currently develops and delivers public seminars and customized
corporate training classes along with very flexible scheduling,
to avoid project disruption, in the fields of IT operations,
operating system and computer languages. Specialties include
UNIX Fundamentals, Perl and Shell Scripting, C/C++ and Java,
Linux/Solaris/ UNIX System Administration and TCP/IP Networking,
Web Technologies such as Visual Basic, Delphi/Pascal, JavaScript,
PHP Apache /Tomcat, JSP/Servlets and SQL Database Access,
Computer and Network Security.
As a part time faculty of Worcester Polytechnic Institute and
Boston University, Mr. Goldberg is continually adding
new cutting-edge technology to his curriculum, and accepts
requests for customized on-site corporate training classes and tutoring.
For more information, please contact Mr. Goldberg at 781-229-1530 ext. 2
(Qualware), e-mail to
training2010@qualware.com
or visit
www.Qualware.com.
Besides operating Qualware Instructional Services, Mr. Goldberg is
also a principal of Qualware Consulting Group,
which performs a wide range of consulting services.
For more information, visit
http://www.qualware.com/qualware.
Copyright 2003-2010 Qualware Instructional Services and
Jeffrey Goldberg.
Course Fee Schedule:
REGISTRATION RECEIVED BY
Jan 30, 2006 |
REGISTRATION RECEIVED AFTER
Jan 30, 2006 |
|
$750 |
$833 |
|